﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IsmsExplorer.Infrastructure.DomainBase;
using IsmsExplorer.Model.Documents;

namespace IsmsExplorer.Model.Projects {
    /// <summary>
    /// Top level object containing all the information about an ISMS of a specific Scope.
    /// Each Project has a unique (within the ISMS Explorer database) descriptive (relatively short) 
    /// name describing it and a start date which describes the date the ISMS was first in place.
    /// The start date is useful in planning and for the continuous maintenance (PDCA lifecycle)
    /// of the ISMS system.
    /// </summary>
    public class Project : EntityBase {
        #region Data
        
        private string _name;
        private DateTime? _startDate;
        private IsmsDocumentLink _scopeDocument;
        private IsmsDocumentLink _soaDocument; 

        #endregion

        public Project(int id, string name) : base(id) {
            this._name = name;
        }

        public Project(string name) : this(0, name) {
        }

        #region Properties
        
        public string Name {
            get { return _name; }
        }

        public DateTime? StartDate {
            get { return _startDate; }
            set { _startDate = value; }
        }

        public IsmsDocumentLink SoaDocument {
            get { return _soaDocument; }
            set { _soaDocument = value; }
        }

        public IsmsDocumentLink ScopeDocument {
            get { return _scopeDocument; }
            set { _scopeDocument = value; }
        }

        #endregion

    } // end public class Project : EntityBase
}
